مهمترين نقاط آسيب پذير يونيکس و لينوکس ( بخش سوم )
دهلران پی سی
سایت جامع علمی ,آموزشی,فرهنگی و تفریحی

 آنچه تاکنون گفته شده است :

  • بخش اول  : بررسی BIND Domain Name System  و RPC
  • بخش دوم  : بررسی  Apache Web Server و روش های تائيد کاربران

در بخش سوم اين مقاله به بررسی نقاط آسيب پذير  سرويس های Clear Text  و  Sendmail ، خواهيم پرداخت . 

پنجمين نقطه آسيب پذير :  :Clear Text Services
تعداد زيادی از سرويس های شبکه استفاده شده توسط سيستم های مبتنی بر يونيکس ، بصورت  plain text بوده و  از رمزنگاری خاصی استفاده نمی نمايند. ضعف در رمزنگاری ، امکان شنود اطلاعاتی ( مشاهده ترافيک شبکه )  را فراهم و مهاجمان در ادامه امکان دستيابی به محتویات ارتباط ايجاد شده و يا اطلاعات حساس کاربران نظير داده های مرتبط با رمز عبور را بدست خواهند آورد.  مثلا" بمنظور تشخيص  اطلاعات مرتبط با FTP و يا telnet ( اطلاعات login ) ، يک مهاجم ، می تواند  يک  sniffer  را در شبکه  و در محلی بين مسير ارتباطی، مستقر نمايد (بعنوان سرويس دهنده FTP و يا يا Client LAN ) . تبادل اطلاعات بين دستورات ورودی توسط سرويس گيرندگان و پاسخ های ارائه شده توسط سرويس های موجود بر روی سرويس دهنده ، بصورت plain-text خواهد بود. بدين ترتيب ،امکان رديابی ( رهگيری ) داده و يا کليدهای فشرده شده توسط کاربر بسادگی فراهم می گردد. اغلب مهاجمان در حملات اخير خود از برنامه های مختص شنود اطلاعاتی استفاده و عمدتا" اينگونه برنامه ها را  بر روی دستگاهها ی  آسيیب پذير نصب می نمايند. در چنين مواردی ، تشخيص نام و رمز عبور کاربر در داده های جمع آوری شده ( شنود اطلاعاتی ) ، بسادگی ميسر خواهد شد.جدول زير،  ليست برخی از سرويس های شبکه يونيکس را که اطلاعات را بصورت Clear Text  ، مبادله می نمايند ، نشان می دهد :

آيتم ارسالی

Clear Auth

Clear Content

پورت

سرويس

متن ، باينری

Yes Yes 21 , 20 FTP
متن ، باينری N/A Yes 69 TFTP
متن Yes Yes 23 telnet
متن ، باينری N/A Yes 25 SMTP
متن ، باينری Yes Yes 110 POP3
متن ، باينری Yes Yes 143 IMAP
متن Yes Yes 513 rlogin
متن Yes Yes 514 rsh
متن ، باينری Yes Yes 80 HTTP

سرويس هائی نظير Telnet و FTP که شامل اطلاعات  مربوط به تائيد هويت کاربران می باشند ، اطلاعات مورد نظر را بصورت متن  ارسال  که  بالاترين ريسک را بدنبال خواهد داشت . در چنين مواردی مهاجمان می توانند با استفاده مجدد از داده های حساس کاربران نظير نام و رمز عبور، با خيال راحت ! به سيستم دستيابی نمايند .علاوه براين ، اجرای دستورات  بصورت clear text می تواند توسط مهاجمان استفاده تا با استفاده از آنان دستورات دلخواه خود را بدون الزامی برای تائيد ، اجراء نمايند. سرويس های Clear text  ، می توانند زمينه تهديدات مختلفی نظير  :  تسهيل در انجام  حملات  ، دستيابی از راه دور ، اجرای دستورات بر روی يک سيستم مقصد ، شنود و تشخيص اطلاعات را بدنبال داشته باشد .

سيستم های عامل در معرض تهديد
تمامی  نمونه های يونيکس  ارائه شده ، از سرويس ها ی Clear text استفاده می نمايند. ( telnet و FTP دو نمونه متدواول در اين زمينه می باشند ) . تمامی  نمونه نسخه های  ارائه شده يونيکس و  لينوکس ( تنها استنثاء در اين  رابطه، مربوط به آخرين ويرايش  Free/OpenBSD  می باشد ) ، بصورت پيش فرض ، برخی از سرويس های فوق را نصب می نمايند .

نحوه تشخيص آسيب پذيری سيستم
موثرترين و مطمئن ترين روش بمنظور تشخيص نقطه آسيب پذير فوق (سرويس های clear text )  ، بکارگيری  نرم افزاری مشابه با  ابزارهای استفاده شده (sniffer) توسط مهاجمان است. متداولترين برنامه موجود در اين زمينه ،  tcpdump می باشد. برای دريافت برنامه "tcpdump " می توان از آدرس  http://www.tcpdump.org  ،  استفاده نمود . نحوه فعال نمودن برنامه فوق،بمنظور تشخيص هر گونه ارتباط clear text ،  بصورت زير است :

  # tcpdump -X -s 1600

دراين راستا می توان از برنامه های ديگر نظير : "ngrep" نيز استفاده نمود. برنامه فوق،امکان جستجوی الگوئی خاص نظير "sername " و يا " assword " را در شبکه فراهم می نمايد.  ( اولين حروف، بمنظور سازگاری با حروف بزرگ احتمالی ، در نظر گرفته نشده است ) . برای دريافت برنامه فوق ، می توان از آدرس    http://www.packetfactory.net/projects/ngrep  استفاده نمود . نحوه فعال نمودن برنامه فوق ،  بصورت زير است :

  # ngrep assword

در اين رابطه می توان از ابزارهای متنوع  ديگری بمنظور تشخيص داده های حساس کاربران ( نام و رمز عبور )  استفاده نمود . Dsniff ، متداولترين ابزار در اين زمينه است . برنامه فوق ، بررسی لازم در خصوص تمامی زوج نام و رمزعبور بر روی پروتکل های Plain text حجيم، نظير FTP ، Telnet و POP3 را انجام و پس از تشخيص، آنان را نمايش خواهد داد. برای بدست آوردن برنامه فوق می توان از آدرس  http://www.monkey.org/~dugsong/dsniff   استفاده نمود . نحوه فعال نمودن برنامه فوق ،  بصورت زير است :

 # /usr/sbin/dsniff

نحوه حفاظت در مقابل نقطه آسيب پذير 
استفاده از رمزنگاری End-To-End و يا حداقل رمزنگاری Link-level می تواند در اين زمينه مفيد واقع گردد. برخی پروتکل ها از لحاظ رمزنگاری معادل يکديگر می باشند( نظير : POP3S و HTTPS ) . برای پروتکل هائی که دارای قابليت ها  و امکانات  , ذاتی رمزنگاری نمی باشند ، می توان آنان را از طريق  SSH : Secure Shell ، و يا  SSL connection انجام داد( tunneling ) .
OpenSSH يک نمونه پياده سازی شده متداول و انعطاف پذير ازSSH  است.( قابل دسترس در آدرس  http://www.openssh.org  ) . برنامه فوق، در اکثر نسخه های يونيکس اجراء و می توان از آن بمنظور ارتباطات از راه دور ( replaces telnet ,rlogin ,rsh ) و tunneling ( پروتکل هائی نظير POP3,SMTP و X11 )   استفاده گردد .
دستور زير نحوه tunnel نمودن POP3 را بر روی SSH connection  نشان می دهد. بر روی  سرويس دهنده POP3 ، می بايست سرويس دهنده SSH نيز اجراء گردد. در ابتدا آن را بر روی ماشين سرويس گيرنده اجراء می نمائيم :

# ssh -L 110:pop3.mail.server.com:110 username@pop3.mail.server.com

در ادامه ، برنامه سرويس گيرنده پست الکترونيکی را به localhost اشاره می دهيم ، پورت TCP 110  ( برخلاف روال معمول که بصورت : pop3.mail.server.com ، پورت 110 است )  . بدين ترتيب ، تمامی ارتباطات بين ماشين و سرويس دهنده پست الکترونيکی بصورت رمز شده انجام خواهد شد ( tunneled over SSH  ) .
يکی ديگر از راه حل های متداول رمزنگاری مبتنی بر tunneling ، استفاده از stunnel است . روش فوق ، پروتکل SSL را پياده سازی( با استفاده از OpenSSL Toolkit ) و می توان آن را  بمنظور tunel نمودن پروتکل های متفاوت plain text بخدمت گرفت . برای دريافت برنامه فوق ، می توان از آدرس  http://www.stunnel.org  استفاده نمود.

ششمين نقطه آسيب پذير : : Sendmail
Sendmail ، برنامه ای است که از آن بمنظور ارسال ، دريافت و فوروارد نمودن  نامه های الکترونيکی در اغلب سيستم های يونيکس و لينوکس استفاده می گردد. Sendmail ، يکی از متداولترین MTA : Mail Transfer Agent  در اينترنت بوده که بطور گسترده ای از آن بعنوان "آژانش توزيع نامه های الکترونيکی" بهمراه سرويس دهندگان پست الکترونيکی ، استفاده می گردد  . Sendmail ، يکی از اهداف اوليه مهاجمان  در ساليان اخير بوده و تاکنون حملات متعددی را در ارتباط با آن شاهد بوده ايم. اکثر حملات انجام شده بدليل قديمی بودن  و يا عدم patch مناسب نسخه های نصب شده ، با موفقيت همراه بوده است .در اين رابطه  می توان به چندين نمونه از حملات اخير اشاره نمود :

- CERT Advisory CA-2003-12 Buffer Overflow in Sendmail 
- CERT Advisory CA-2003-07 Remote Buffer Overflow in Sendmail 
- CERT Advisory CA-2003-25 Buffer Overflow in Sendmail 

خطرات و تهديدات مرتبط با Sendmail را می توان به دو گروه عمده  تقسيم نمود :  از دست رفتن امتيازات که علت  آن buffer overflow  خواهد بود و پيکربندی نادرست سيستم که می تواند تبعات منفی را بدنبال داشته باشد ( مثلا" تبديل يک سيستم به مرکزی آلوده برای توزيع نامه های الکترونيکی ) .عامل اصلی در بروز تهديدات نوع اول ، عمدتا" به استفاده از نسخه های قديمی و يا عدم  patching مناسب سيستم برمی گردد.علت اصلی تهديدات نوع دوم ، به استفاده از فايل های پيکربندی پيش فرض و نادرست برمی گردد .

سيستم های عامل در معرض تهديد
تقريبا" تمامی نسخه های لينوکس و يونيکس بهمراه يک نسخه نصب شده از Sendmail عرضه می گردند. سرويس فوق،  بصورت پيش فرض فعال می باشد .

نحوه تشخيص آسيب پذيری سيستم
Sendmail ، در گذشته دارای نقاط آسيب پذير فراوانی بوده که بتدريج  وبا ارائه نسخه های جديدتر و patch های مربوطه ، ميزان  آسيب پذيری آن کاهش يافته است .هر نسخه قديمی و يا Patch نشده نرم فزار فوق در معرض آسيب قرار خواهد داشت . بمنطور مشخص نمودن شماره نسخه برنامه sendmail ، می توان از دستور زير استفاده نمود :

echo $Z | /usr/lib/sendmail -bt -d0
 

مسير مشخص شده sendmail  در دستور فوق ، با توجه به پيکربندی سيستم ، می تواند متفاوت باشد. برای آگاهی از آخرين نسخه ارائه شده Sendmail می توان از آدرس  http://www.sendmail.org/current-release.html  استفاده نمود .

نحوه حفاظت در مقابل نقطه آسيب پذير 
مراحل زير بمنظور ايمن سازی و حفاظت Sendmail پيشنهاد می گردد :

  •  نسخه موجود را به آخرين نسخه ارتقاء و از آخرين patch های موجود ، استفاده گردد . برای دريافت source code می توان از آدرس http://www.sendmail.org  استفاده نمود. در صورتيکه نسخه sendmail بهمراه سيستم عامل ارائه شده است  ( يک Package ) ، می توان برای دريافت patch مربوطه به سايت عرضه کنندگان سيستم عامل مراجعه نمود.

  • برنامه sendmail عموما" بصورت پيش فرض در اکثر سيستم های يونيکس و لينوکس ( حتی آنانی که بعنوان سرويس دهنده mail  مورد نظر نبوده و فعاليت آنان در ارتباط با  mail نخواهد بود) نصب می گردد. برنامه Sendmail را در حالت daemon بر روی ماشين های فوق ، اجراء ننمائيد ( غير فعال نمودن سوئيچ  bd -  ) . امکان ارسال نامه الکترونيکی توسط سيستم های فوق ، همچنان وجود خواهد داشت . در اين رابطه می بايست پيکربندی سيستم بگونه ای انجام شود که به يک mail relay در فايل پيکربندی sendmail ، اشاره گردد.فايل پيکربندی،  sendmail.cf نام داشته و معمولا" در آدرس  etc/mail/sendmail.cf  قرار دارد .

  • در صورتيکه  لازم است sendmail در حالت daemon اجراء گردد، می بايست از صحت پيکربندی انجام شده اطمينان حاصل گردد. در اين رابطه می توان از منابع اطلاعاتی زير استفاده نمود :
    http://www.sendmail.org/tips/relaying.html 
    http://www.sendmail.org/m4/anti_spam.html 
    در نسخه  Sendmail 8.9.0 ، امکان open relay  بصورت پيش فرض غيرفعال می باشد.تعداد زيادی از عرضه کنندگان سيستم های عامل ، مجددا" آن رادر پيکربندی پيش فرض خود فعال می نمايند. در صورت استفاده از نسخه  Sendmail  ارائه شده بهمراه سيستم عامل ، می بايست دقت لازم در اينخصوص را انجام داد ( عدم استفاده سرويس دهنده برای  realying  ).
     

  • در زمان استفاده از نسخه جديد sendmail ( سوئيچ نمودن به يک نسخه ديگر ) ،  لازم است تدابير لازم در خصوص تغيير فايل های پيکربندی ارائه شده توسط نسخه قديمی ، انديشيده گردد . برای آگاهی از جزئيات  بيشتر در ارتباط با پيکربندی Sendmail ، می توان از آدرس http://www.sendmail.org/m4/readme.html  استفاده نمود.

  •  در موارديکه برنامه  Sendmail  از منابع موجود بر روی اينترنت Download  می گردد ، می بايست  بمنظور اطمينان از مجاز بودن نسخه تکثيری  از  PGP signature  استفاده نمود. در اين رابطه لازم است به اين نکته دقت شود که بدون بررسی integrity مربوطه به source code  برنامه Sendmail ، نمی بايست از آن استفاده شود. در گذشته ، نسخه هائی از Trojan ها در Sendmail  مستقر تا در زمان مناسب حرکت مخرب خود را آغاز نمايند .   بمنظور دريافت اطلاعات تکميلی در اين رابطه می توان از آدرس   CERT Advisory CA-2002-28  استفاده نمود. کليدهای استفاده شده بمنظور sign نمودن برنامه Sendmail دريافتی را می توان از آدرس http://www.sendmail.org/ftp/PGPKEYS   بدست آورد . در صورت فقدان  PGP ، می بايست از MD5 Checksum بمنظور بررسی integrity  کد منبع Sendmail ، استفاده گردد.

برای کسب اطلاعات بيشتر می توان از منابع اطلاعاتی زير استفاده نمود :

http://www.sendmail.org/secure-install.html
http://www.sendmail.org/m4/security_notes.html
http://www.sendmail.org/~gshapiro/security.pdf 
 

در بخش چهارم اين مقاله به بررسی ساير نقاط آسيب پذير يونيکس و لينوکس خواهيم پرداخت .

منبع:srco.ir


نظرات شما عزیزان:

نام :
آدرس ایمیل:
وب سایت/بلاگ :
متن پیام:
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

 

 

 

عکس شما

آپلود عکس دلخواه:








ارسال توسط هادی احمدی

آرشیو مطالب
پيوند هاي روزانه
امکانات جانبی

آمار وب سایت:  

بازدید امروز : 253
بازدید دیروز : 737
بازدید هفته : 1075
بازدید ماه : 1471
بازدید کل : 205459
تعداد مطالب : 736
تعداد نظرات : 23
تعداد آنلاین : 1

Google

در اين وبلاگ
در كل اينترنت
 <-PostTitle-> <-PostContent-> 1 <-PostLink->